PLCopen Function Blocks

This function block (FB) library is designed for controlling one or more servo axes using the IEC 61131-3 PLCopen standard. See Function Blocks.

To offer flexibility, ease of use, and reusability, the library consists of command-oriented function blocks with a reference to the axis (e.g., the abstract data type AXIS_REF Structure).

The PLCopen Library contains function blocks for:

  • Control: Function blocks to define and initialize motion, control power, and reset errors.
  • I/O: Function blocks to control interaction with Digital I/O and Touch Probe and trigger PLCopen Registration functionality.
  • Info: Function blocks to provide information on motion, position, status, and the ability to read and write other drive parameters.
  • PLCopen Motion: Function blocks to execute different types of motion.
  • Profile: Function blocks for master/slave motion.
  • Reference: Function blocks to reset position.
  • Registration: Function blocks to perform registration.

Function Block

Description

MC_AddSuperAxis

Adds a Superimposed Axis to the Axis’s list of assigned superimposed axes.

MC_CamIn

Performs a slave axis move which follows the master axis based on the Cam Table specified by CamTableID.

MC_CamOut

Disengages the slave axis from an MC_CamIn move or the master axis immediately in a cam block.

MC_CamTblSelect

Defined to read and initialize the specified profile.
Selects the Cam tables by setting the pointers to the relevant tables.

MC_GearIn

Performs a slave axis move which follows the master axis based on the ratio specified by RatioNumerator and RatioDenominator.

MC_GearOut

Disengages the slave axis from a MC_GearIn or MC_GearInPos move or the master axis.

MC_MachRegist

Enables Mark-to-Machine registration.

MC_MarkRegist

Enables Mark-to-Mark registration.

MC_MoveAbsolute

Performs a single-axis move to a specified endpoint position.

MC_MoveAdditive

Performs a single-axis move for a specified distance from the endpoint of the previous move.

MC_MoveRelative

Performs a single-axis move of a specified distance relative to the actual position at the time of the start of execution.

MC_MoveSuperimp

Performs a single-axis move superimposed upon the currently executing move.

MC_MoveVelocity

Performs a single-axis, non-ending move at a specified velocity.

MC_Power

Requests to either enable the drive and close the loop, or disable the drive and open the loop.

MC_ReadActPos

Reads the actual position of the axis.

MC_ReadAxisErr

Returns the error status of the specified axis.

MC_ReadBoolPar

Returns the value of the specified Boolean axis parameter.

Returns the value of a drive parameter.

  • The returned value has to be converted to REAL if required.
  • If not possible, the vendor must provide a supplier-dependent FB for it.

MC_ReadParam

Returns the value of the specified axis parameter.

Returns the value of a drive parameter.

  • The returned value has to be converted to REAL if required.
  • If not possible, the vendor must provide a supplier-dependent FB for it.

MC_ReadStatus

Returns the state of the specified axis.

MC_RemSuperAxis

Remove an axis from the axis's list of assigned, superimposed axes.

MC_ResetError

Resets the errors of the specified axis.

MC_Stop

Aborts the active move, removes the next move from the queue, performs a controlled stop, and switches the axis to Stopping state.

MC_StopRegist

Turns off registration for the specified axis and disarms the specified fast input.

MC_WriteBoolPar

Writes the specified axis Boolean parameter.

MC_WriteParam

Writes the specified axis parameter.